package org.dromara.pill.domain.vo;

import org.dromara.pill.domain.PillDrug;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.pill.domain.PillFactory;

import java.io.Serial;
import java.io.Serializable;



/**
 * 药品信息视图对象 pill_drug
 *
 * @author Lion Li
 * @date 2023-07-07
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PillDrug.class)
public class PillDrugVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 药品ID
     */
    @ExcelProperty(value = "药品ID")
    private Long drugId;

    /**
     * 药品名称
     */
    @ExcelProperty(value = "药品名称")
    private String drugName;

    /**
     * 药品编码
     */
    @ExcelProperty(value = "药品编码")
    private String drugCode;

    /**
     * 生产厂家
     */
    @ExcelProperty(value = "生产厂家")
    private Long factoryId;

    /**
     * 生产厂家对象
     */
    @ExcelProperty(value = "生产厂家对象")
    private PillFactory pillFactory;

    /**
     * 药品类型
     */
    @ExcelProperty(value = "药品类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "yplx")
    private String drugType;

    /**
     * 处方类型
     */
    @ExcelProperty(value = "处方类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "cflx")
    private String prescriptionType;

    /**
     * 单位
     */
    @ExcelProperty(value = "单位")
    private String unit;

    /**
     * 价格
     */
    @ExcelProperty(value = "价格")
    private Long price;

    /**
     * 库存量
     */
    @ExcelProperty(value = "库存量")
    private Long num;

    /**
     * 预警值
     */
    @ExcelProperty(value = "预警值")
    private Long warnValue;

    /**
     * 换算量
     */
    @ExcelProperty(value = "换算量")
    private Long conversion;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态")
    private String status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
